//package com.ccb.sc.github.yydzxz.common.redis;
//
//import lombok.NonNull;
//import me.chanjar.weixin.common.util.locks.RedisTemplateSimpleDistributedLock;
//import org.springframework.data.redis.core.StringRedisTemplate;
//
//import java.util.concurrent.TimeUnit;
//import java.util.concurrent.locks.Lock;
//
///**
// * @author ken
// * @version 1.0
// * @date 2022/11/14 1:01
// */
//public class RedisTemplatesByteDanceRedisOps implements IByteDanceRedisOps {
//
//    private final StringRedisTemplate redisTemplate;
//
//    public String getValue(String key) {
//        return (String)this.redisTemplate.opsForValue().get(key);
//    }
//
//    public void setValue(String key, String value, int expire, TimeUnit timeUnit) {
//        if (expire <= 0) {
//            this.redisTemplate.opsForValue().set(key, value);
//        } else {
//            this.redisTemplate.opsForValue().set(key, value, (long)expire, timeUnit);
//        }
//
//    }
//
//    public Long getExpire(String key) {
//        return this.redisTemplate.getExpire(key);
//    }
//
//    public void expire(String key, int expire, TimeUnit timeUnit) {
//        this.redisTemplate.expire(key, (long)expire, timeUnit);
//    }
//
//    public Lock getLock(@NonNull String key) {
//        if (key == null) {
//            throw new NullPointerException("key is marked non-null but is null");
//        } else {
//            return new RedisTemplateSimpleDistributedLock(this.redisTemplate, key, 60000);
//        }
//    }
//
//    @Override
//    public boolean deleteKey(String key) {
//        return Boolean.TRUE.equals(this.redisTemplate.delete(key));
//    }
//
//    public RedisTemplatesByteDanceRedisOps(StringRedisTemplate redisTemplate) {
//        this.redisTemplate = redisTemplate;
//    }
//}
